package eteam.aps.mapper;

import eteam.aps.model.dto.ProcessPreserveDto;
import eteam.aps.model.entity.ProcessMaterials;
import eteam.aps.model.vo.process_materials.ProcessMaterialsVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * 工艺物料 持久层
 *
 * @author LiuLei
 */
@Mapper
public interface ProcessMaterialsMapper {

    /**
     * 根据 产品物料信息 添加 任务物料信息
     *
     * @param list 产品物料信息
     * @return 新增的条数
     */
    int batchSaveProcessMaterials(List<ProcessMaterials> list);

    /**
     * 根据条件查询 任务维护信息
     *
     * @param map 查询条件
     * @return 查询列表
     */
    List<ProcessMaterialsVo> selPMLis(Map<String, Object> map);

    /**
     * 根据 任务物料编号删除物料信息
     *
     * @param list 任务物料编号
     * @return 删除的条数
     */
    int btachDelByInvs(List<String> list);


    /**
     * 根据条件查询 任务维护信息
     *
     * @param map 查询条件
     * @return 查询列表
     */
    List<ProcessMaterials> selPMByInv(Map<String, Object> map);

    /**
     * 批量添加
     *
     * @param list 产品物料
     * @return 添加的条数
     */
    int batchUpdate(List<ProcessMaterialsVo> list);

    /**
     * 批量删除
     * @param list 内码集
     * @return 删除的条数
     */
    int delete(List<String> list);

    /**
     * 修改产品工单工艺
     * @param processPreserveDto 工单工艺维护
     * @return 修改的条数
     */
    int update(ProcessPreserveDto processPreserveDto);
}
